Normal (block type)
Normal blocks are the 1m by 1m cubes that almost everything in minecraft is composed of. With Custom Stuff, you can create many new types of blocks ranging from new types of stone and wood up to unique creations that do fantastic things when powered by redstone or activated with an item. This applies to any type of block made by Custom Stuff, however, and isn't wholly unique to normal type blocks. Normal blocks, in addition to being the most common and familiar shape, are also the most efficient to use for large projects as you can make variations on a single block type using metadata. Their familiarity also aids players who, if they have any experience with Minecraft, probably know what the limitations and advantages of any normal cube are in terms of game play. Example Normal Block (CS2 0.9.10 and higher) In this example, we're adding two blocks (Concrete Bricks and Chiseled Concrete Bricks) that use a single block ID by utilizing metadata. As with all examples, the mod.js file will be in the root of your project's directory, and the block file (concreteBricks.js) will be in the /blocks/ folder within that directory. mod.js config.addBlockIdProperty("concreteBrickID", 217); mod.addBlock("concreteBricks.js", "normal"); concreteBricks.js name = "concreteBricks"; id = config.getBlockId("concreteBrickID"); material = "rock"; stepSound = "stone"; creativeTab = "buildingBlocks"; // Metadata Block 0 - Concrete Bricks displayName0 = "Concrete Bricks"; hardness0 = 1; resistance0 = 50; toolClass0 = "pickaxe"; harvestLevel0 = 2; textureFileXP0 = "concreteBrick.png"; textureFileXN0 = "concreteBrick.png"; textureFileYP0 = "concreteBrick.png"; textureFileYN0 = "concreteBrick.png"; textureFileZP0 = "concreteBrick.png"; textureFileZN0 = "concreteBrick.png"; addToCreative0 = true; // Metadata Block 1 - Chiseled Concrete Bricks displayName1 = "Chiseled Concrete Bricks"; hardness1 = 1.5; resistance1 = 60; toolClass0 = "pickaxe"; harvestLevel0 = 2; textureFileXP1 = "concreteBrickChiseled.png"; textureFileXN1 = "concreteBrickChiseled.png"; textureFileYP1 = "concreteBrickChiseled.png"; textureFileYN1 = "concreteBrickChiseled.png"; textureFileZP1 = "concreteBrickChiseled.png"; textureFileZN1 = "concreteBrickChiseled.png"; addToCreative1 = true; Normal Block Attributes Required Attributes * displayName * id * name * textureFileXN * textureFileXP * textureFileYN * textureFileYP * textureFileZN * textureFileZP Optional Attributes * addToCreative * canPlaceOnCeiling * canPlaceOnFloor * canPlaceOnWall * canSilkHarvest * creativeTab * drop * fireSpreadSpeed * flammability * fortuneModifier * hardness * harvestLevel * hasCollision * hasTileEntity * isBeaconBase * isBurning * isFireSource * isWood * light * material * opacity * pick * resistance * semiTransparent * slipperiness * stepSound * tickrate * tileEntity * tileTransparent * toolClass * transparent textureFile and textureIndex In CS2 versions for 1.4.7 and below, CS2 0.9.9 or below, textureFile was used to specify the texture sheet and textureIndex was used for identifying the specific icon within the texture sheet. If using CS2 0.9.9 or lower, make sure to use both of these attributes. Example Normal Block name="Concrete Bricks"; id=217; texturefile="customstuff.png"; textureindex=4; material="rock"; stepsound="stone"; hardness=1; resistance=50; harvestlevel=0; toolclass="pickaxe"; Normal Block Attributes (CS1) Below is a table of attributes available to normal-type blocks, including information on notable attributes. Required Attributes * name * id * type * texturefile * textureindex * harvestlevel * toolclass Optional Attributes * material * textureindextop * textureindexeast * textureindexwest * textureindexnorth * textureindexsouth * stepsound * damagevalues * hardness * resistance * light * opacity * iddropped * quantitydropped * damagedropped * transparent * collision * speed * gravity * movebypiston * addtocreative * color * container * maxstack * tickrate type This must be set to 'normal' in order for the block to be of the normal type. This is also the default value, so this attribute can safely be omitted when making blocks of this type. Other types that can be used for this attribute can be found on the type attribute page. collision This attribute can be set to false, but the results will not be as expected. The block will lightly push you away from the block, and if you push against a no-collision normal block, you will take damage as if sufficating. Category:Examples (CS2) Category:Examples Category:Examples (CS1) Category:Block Types